feat: replace Node services with Python apps and add balena-friendly …#43
Open
samuel-duffield1 wants to merge 2 commits into
Open
feat: replace Node services with Python apps and add balena-friendly …#43samuel-duffield1 wants to merge 2 commits into
samuel-duffield1 wants to merge 2 commits into
Conversation
…startup locks - replace the data service with a minimal Python CPU usage API - replace the frontend with a simple Streamlit CPU usage dashboard - switch balenalib images to standard Docker Hub Python bases with uv - add shared flock-based startup orchestration for balena multicontainer readiness - simplify HAProxy routing for the Streamlit frontend - update README deployment instructions to use balena push Change-type: patch Signed-off-by: Sam Duffield <sam.duffield@balena.io>
Change-type: patch Signed-off-by: Sam Duffield <sam.duffield@balena.io>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This replaces the example's Node-based
dataandfrontendservices with minimal Python applications and adds balena-friendly container startup orchestration.What changed
dataservice with a simple Python API that reports CPU usagefrontendservice with a simple Streamlit dashboard that graphs CPU usagebalenalibbases to standard Docker Hub Python imagesuvfor Python dependency installation and runtime startupflock-based startup scripts so services can wait on dependencies withoutdepends_onbalena pushinstead of the older git remote workflowWhy
Healthchecks are not supported on balenaOS
Implementation notes
app.py,requirements.txt, and startup scriptTesting
balena pushduring verification